package cn.exrick.xboot.modules.biddataproject.service;


import cn.exrick.xboot.modules.biddataproject.entity.BidDataProtectTable;
import cn.exrick.xboot.modules.biddataproject.entity.ProjectDeptList;
import cn.exrick.xboot.modules.biddataproject.entity.SelectData;
import cn.exrick.xboot.modules.projectinfo.entity.AllBoardData;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.extension.service.IService;
import cn.exrick.xboot.modules.biddataproject.entity.BidDataProtect;

import java.util.LinkedList;
import java.util.List;
import java.util.Map;

/**
 * 招投标系统接口
 *
 * @author sdtf
 */
@DS("other")
public interface IBidDataProtectService extends IService<BidDataProtect> {

    /**
     * 查找运营商年度相关数据
     */
    SelectData selectCountMoneyByOperator();
    /**
     * 查找运营商月度相关数据
     */
    SelectData selectCountMoneyByOperatorByMonth();

    /**
     * 查找集客年度相关数据
     */
    SelectData selectCountMoneyByGroup();
    /**
     * 查找集客月度相关数据
     */
    SelectData selectCountMoneyByGroupByMonth();

    /**
     * 年度合同排行
     */
    List<SelectData> selectBidYear();

    /**
     * 本月中合同排行
     */
    List<SelectData> selectBidMonth();

    /**
     * 最新中标项目
     */
    List<SelectData> selectNewBid();

    /**
     * 年度中标排行(数组)
     */
    LinkedList<Object> selectBidYear1();

    /**
     * 客户类型查询
     */
    LinkedList<Object> selectCustomerType();

    /**
     * 二级表格查询：合同签订数量金额本年
     */
    LinkedList<Object> bidNumAndMoneyByYear();
    
    /**
     * 二级表格查询：合同签订数量金额本月
     */
    LinkedList<Object> bidNumAndMoneyByMonth();

    /**
     * 全年数量金额
     */
    SelectData seleteNumberMoneyByYear();

    /**
     * 本月数量金额
     */
    SelectData seleteNumberMoneyByMonth();

    List<AllBoardData> SYData();

    List<ProjectDeptList> getProjectDeptlist();

    List<BidDataProtectTable> getAnalysis();

    List<BidDataProtectTable> getAnalysisMonth(String str);

    List<BidDataProtectTable> getAnalysisYears();

    List<ProjectDeptList> getCustomerRanking(String[] customerTypeArray, String month);
}